package com.zmn.oms.business.interfaces.perf;

import com.zmn.common.utils.office.excel.ExportExcelBuilder;
import com.zmn.oms.model.entity.perf.PerfCity;
import com.zmn.oms.model.entity.perf.PerfCityQuery;
import com.zmn.oms.model.vo.perf.PerfCityVO;

import java.util.List;

/**
 * 类描述：城市绩效
 *
 * @author liuying
 * @date 2019/01/30 16:36
 */
public interface PerfCityBService {

    /**
     * 城市绩效数据统计
     *
     * @param beginTime 开始时间，格式 yyyy-MM-dd HH:mm:ss
     * @param endTime   结束时间，格式 yyyy-MM-dd HH:mm:ss
     */
    List<PerfCity> queryStatisticsList(String beginTime, String endTime);

    /**
     * 描述: 提交保存城市绩效
     *
     * @param beginTime 开始时间，格式 yyyy-MM-dd hh:mm:ss
     * @param endTime   结束时间，格式 yyyy-MM-dd hh:mm:ss
     * @return boolean
     * @author wangjie
     * @date 14:38 2019/3/2
     **/
    boolean submitCity(String beginTime, String endTime);

    /**
     * 描述: 根据条件加载数据(计算为PerfCityVo)
     *
     * @param query 查询条件
     * @return java.util.List<com.zmn.oms.model.vo.PerfCityVo>
     * @author wangjie
     * @date 15:32 2019/3/2
     **/
    List<PerfCityVO> listPageByQuery(PerfCityQuery query);

    /**
     * 描述: 报表导出
     *
     * @param query 条件
     * @return java.util.ArrayList<java.util.List>
     * @author wangjie
     * @date 16:50 2019/3/2
     **/
    ExportExcelBuilder outputExcel(PerfCityQuery query);

    PerfCityVO getTotalLine(PerfCityQuery query);
}
